
from core.basic.character import Character
from core.basic.skill import 主动技能, 技能, 被动技能


class 技能0(被动技能):
    名称 = '唤魔：蛇腹剑'
    所在等级 = 15
    等级上限 = 11
    基础等级 = 1

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.105 + 0.015 * self.等级, 5)


class 技能1(主动技能):
    名称 = "蛇腹剑：破"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [8, 170]
    无色消耗 = 0
    data0 = [0, 865, 952, 1042, 1128, 1215, 1304, 1392, 1480, 1567, 1656, 1743, 1830, 1919, 2006, 2095, 2182, 2269, 2357, 2445, 2533, 2621, 2708, 2797, 2884, 2972, 3059, 3147, 3236, 3323, 3410, 3499, 3586, 3674, 3760, 3850, 3936, 4023, 4112, 4200, 4288, 4375, 4463, 4551, 4638, 4726, 4815, 4902, 4990, 5076, 5166, 5253, 5341, 5429, 5517, 5605, 5691, 5780, 5868, 5955, 6044, 6132, 6219, 6306, 6394, 6483, 6570, 6659, 6745, 6833, 6921]
    hit0 = 1
    data1 = [0, 865, 952, 1042, 1128, 1215, 1304, 1392, 1480, 1567, 1656, 1743, 1830, 1919, 2006, 2095, 2182, 2269, 2357, 2445, 2533, 2621, 2708, 2797, 2884, 2972, 3059, 3147, 3236, 3323, 3410, 3499, 3586, 3674, 3760, 3850, 3936, 4023, 4112, 4200, 4288, 4375, 4463, 4551, 4638, 4726, 4815, 4902, 4990, 5076, 5166, 5253, 5341, 5429, 5517, 5605, 5691, 5780, 5868, 5955, 6044, 6132, 6219, 6306, 6394, 6483, 6570, 6659, 6745, 6833, 6921]
    hit1 = 3
    TP成长 = 0.1
    TP上限 = 7


class 技能2(主动技能):
    名称 = "蛇腹剑：舞"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [15, 300]
    无色消耗 = 0
    data0 = [0, 1424, 1570, 1715, 1859, 2004, 2148, 2294, 2439, 2582, 2728, 2872, 3016, 3161, 3306, 3452, 3596, 3740, 3886, 4030, 4173, 4320, 4464, 4608, 4753, 4898, 5043, 5187, 5332, 5478, 5622, 5765, 5911, 6055, 6199, 6345, 6490, 6635, 6779, 6923, 7069, 7214, 7357, 7503, 7647, 7793, 7936, 8081, 8227, 8372, 8515, 8661, 8805, 8948, 9095, 9239, 9385, 9528, 9673, 9818, 9963, 10107, 10253, 10397, 10540, 10686, 10830, 10977, 11120, 11265, 11410]
    hit0 = 1
    data1 = [0, 1351, 1489, 1624, 1763, 1899, 2037, 2173, 2311, 2448, 2587, 2722, 2860, 2997, 3134, 3272, 3408, 3545, 3683, 3820, 3957, 4094, 4231, 4368, 4506, 4644, 4780, 4917, 5055, 5191, 5329, 5465, 5602, 5740, 5878, 6013, 6152, 6288, 6425, 6562, 6698, 6836, 6976, 7112, 7247, 7386, 7522, 7660, 7796, 7934, 8070, 8209, 8344, 8482, 8619, 8758, 8893, 9032, 9168, 9305, 9443, 9580, 9716, 9854, 9991, 10128, 10265, 10402, 10539, 10677, 10814]
    hit1 = 1
    data2 = [0, 1774, 1955, 2135, 2315, 2495, 2675, 2855, 3036, 3216, 3395, 3576, 3755, 3936, 4115, 4296, 4476, 4656, 4837, 5016, 5197, 5377, 5558, 5738, 5919, 6098, 6277, 6458, 6638, 6819, 6999, 7176, 7357, 7537, 7717, 7897, 8078, 8258, 8438, 8618, 8798, 8979, 9159, 9340, 9520, 9699, 9879, 10060, 10240, 10420, 10601, 10780, 10960, 11140, 11321, 11500, 11680, 11861, 12040, 12221, 12401, 12582, 12762, 12942, 13123, 13300, 13481, 13661, 13842, 14022, 14202]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能3(主动技能):
    名称 = "蛇腹剑：刺"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [35, 300]
    无色消耗 = 0
    data0 = [0, 3157, 3480, 3800, 4120, 4441, 4760, 5082, 5402, 5722, 6042, 6365, 6684, 7005, 7325, 7646, 7967, 8286, 8607, 8927, 9247, 9570, 9889, 10211, 10530, 10851, 11171, 11491, 11813, 12132, 12454, 12775, 13095, 13415, 13735, 14056, 14377, 14697, 15017, 15340, 15659, 15979, 16299, 16619, 16942, 17261, 17582, 17902, 18222, 18544, 18863, 19185, 19506, 19826, 20146, 20465, 20787, 21107, 21427, 21749, 22071, 22390, 22710, 23030, 23351, 23672, 23992, 24313, 24632, 24954, 25275]
    hit0 = 1
    data1 = [0, 4259, 4693, 5125, 5558, 5989, 6423, 6856, 7287, 7718, 8151, 8585, 9017, 9450, 9881, 10315, 10746, 11179, 11609, 12043, 12475, 12908, 13339, 13773, 14204, 14638, 15068, 15501, 15933, 16367, 16797, 17231, 17664, 18096, 18529, 18959, 19392, 19825, 20258, 20689, 21123, 21554, 21988, 22419, 22850, 23283, 23717, 24147, 24581, 25013, 25446, 25877, 26311, 26741, 27175, 27606, 28039, 28472, 28905, 29337, 29769, 30202, 30633, 31066, 31497, 31930, 32363, 32795, 33227, 33660, 34092]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能4(主动技能):
    名称 = "蛇腹剑：缠"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [25, 325]
    无色消耗 = 0
    data0 = [0, 3219, 3547, 3872, 4199, 4527, 4853, 5179, 5507, 5833, 6160, 6486, 6812, 7140, 7466, 7792, 8119, 8446, 8774, 9100, 9425, 9752, 10079, 10407, 10733, 11059, 11387, 11713, 12039, 12366, 12692, 13020, 13346, 13672, 13999, 14327, 14654, 14980, 15305, 15635, 15960, 16286, 16613, 16939, 17267, 17592, 17920, 18246, 18573, 18900, 19227, 19552, 19880, 20207, 20532, 20860, 21185, 21515, 21840, 22167, 22493, 22819, 23147, 23473, 23800, 24126, 24454, 24779, 25107, 25433, 25762]
    hit0 = 1
    data1 = [0, 1582, 1741, 1901, 2061, 2223, 2382, 2542, 2704, 2863, 3025, 3185, 3344, 3505, 3667, 3826, 3988, 4146, 4307, 4468, 4629, 4788, 4949, 5110, 5269, 5431, 5591, 5750, 5912, 6073, 6232, 6394, 6552, 6713, 6874, 7035, 7194, 7355, 7514, 7675, 7837, 7998, 8158, 8318, 8478, 8639, 8800, 8958, 9120, 9280, 9440, 9601, 9762, 9920, 10082, 10244, 10404, 10565, 10724, 10884, 11045, 11206, 11367, 11526, 11686, 11846, 12008, 12168, 12327, 12489, 12650]
    hit1 = 3
    # 不可抓取部分
    # data2 = [0, 1582, 1741, 1901, 2061, 2223, 2382, 2542, 2704, 2863, 3025, 3185, 3344, 3505, 3667, 3826, 3988, 4146, 4307, 4468, 4629, 4788, 4949, 5110, 5269, 5431, 5591, 5750, 5912, 6073, 6232, 6394, 6552, 6713, 6874, 7035, 7194, 7355, 7514, 7675, 7837, 7998, 8158, 8318, 8478, 8639, 8800, 8958, 9120, 9280, 9440, 9601, 9762, 9920, 10082, 10244, 10404, 10565, 10724, 10884, 11045, 11206, 11367, 11526, 11686, 11846, 12008, 12168, 12327, 12489, 12650]
    # hit2 = 3
    TP成长 = 0.1
    TP上限 = 7


class 技能5(主动技能):
    名称 = "蛇腹剑：灭"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [40, 300]
    无色消耗 = 0
    data0 = [0, 794, 874, 956, 1037, 1116, 1198, 1278, 1358, 1439, 1520, 1602, 1682, 1762, 1843, 1923, 2003, 2085, 2165, 2246, 2328, 2407, 2487, 2569, 2649, 2730, 2812, 2892, 2973, 3052, 3133, 3214, 3294, 3374, 3457, 3537, 3618, 3698, 3778, 3859, 3939, 4020, 4102, 4183, 4264, 4343, 4423, 4505, 4585, 4666, 4748, 4828, 4907, 4988, 5069, 5150, 5229, 5312, 5393, 5473, 5551, 5633, 5713, 5793, 5875, 5956, 6037, 6118, 6198, 6278, 6358]
    hit0 = 12
    TP成长 = 0.1
    TP上限 = 7


class 技能6(被动技能):
    名称 = '魔剑控制'
    所在等级 = 30
    等级上限 = 30
    基础等级 = 20

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 20:
                return round(1.000 + 0.015 * self.等级, 5)
            else:
                return round(1.300 + 0.025 * (self.等级 - 20), 5)


class 技能7(主动技能):
    名称 = "血饮狂舞"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [100, 920]
    无色消耗 = 1
    data0 = [0, 982, 1082, 1182, 1283, 1382, 1483, 1581, 1682, 1782, 1882, 1982, 2079, 2181, 2280, 2381, 2480, 2580, 2679, 2779, 2879, 2980, 3079, 3179, 3277, 3378, 3478, 3577, 3678, 3778, 3878, 3977, 4077, 4177, 4277, 4375, 4475, 4574, 4676, 4776, 4876, 4975, 5074, 5175, 5274, 5376, 5474, 5573, 5673, 5773, 5873, 5973, 6074, 6173, 6273, 6373, 6473, 6573, 6671, 6770, 6871, 6970, 7072, 7171, 7270, 7371, 7470, 7571, 7670, 7770, 7869]
    hit0 = 14
    data1 = [0, 2532, 2790, 3046, 3304, 3561, 3817, 4075, 4331, 4587, 4846, 5102, 5361, 5617, 5873, 6130, 6387, 6645, 6901, 7158, 7415, 7671, 7929, 8187, 8445, 8701, 8957, 9215, 9471, 9727, 9986, 10242, 10499, 10756, 11012, 11270, 11528, 11785, 12041, 12299, 12555, 12811, 13070, 13326, 13583, 13841, 14097, 14354, 14611, 14869, 15125, 15382, 15639, 15895, 16153, 16411, 16667, 16925, 17181, 17438, 17695, 17951, 18209, 18466, 18723, 18979, 19236, 19493, 19751, 20009, 20265]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        # 待定
        self.CD = 10
        self.hit0 = 10
        self.hit1 = 0
        self.power0 = 1 - 0.06 + 0.16


class 技能8(主动技能):
    名称 = "碎魔剑"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [180, 1512]
    无色消耗 = 1
    data0 = [0, 2713, 2988, 3264, 3538, 3814, 4088, 4364, 4640, 4914, 5190, 5465, 5740, 6015, 6292, 6566, 6841, 7118, 7391, 7667, 7944, 8218, 8493, 8768, 9044, 9318, 9594, 9870, 10144, 10420, 10695, 10971, 11246, 11521, 11797, 12071, 12347, 12622, 12897, 13173, 13449, 13723, 13998, 14273, 14548, 14824, 15100, 15374, 15650, 15925, 16200, 16477, 16751, 17026, 17302, 17577, 17851, 18128, 18403, 18677, 18953, 19228, 19503, 19779, 20054, 20329, 20604, 20880, 21157, 21430, 21706]
    hit0 = 5
    TP成长 = 0.1
    TP上限 = 5


class 技能9(主动技能):
    名称 = "群魔乱舞"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 3
    等级精通 = 60
    CD = 25
    MP = [360, 3024]
    无色消耗 = 1
    data0 = [0, 1049, 1217, 1384, 1551, 1718, 1886, 2053, 2222, 2388, 2556, 2723, 2891, 3058, 3225, 3392, 3560, 3726, 3894, 4062, 4229, 4396, 4563, 4730, 4898, 5064, 5233, 5399, 5567, 5734, 5901, 6068, 6238, 6404, 6572, 6738, 6906, 7073, 7240, 7408, 7576, 7742, 7910, 8076, 8244, 8413, 8579, 8747, 8913, 9081, 9248, 9415, 9583, 9751, 9917, 10086, 10252, 10420, 10588, 10755, 10922, 11090, 11256, 11424, 11590, 11759, 11926, 12093, 12260, 12427, 12594]
    hit0 = 4
    data1 = [0, 1399, 1622, 1845, 2068, 2292, 2514, 2737, 2961, 3183, 3408, 3630, 3852, 4076, 4299, 4523, 4746, 4968, 5193, 5414, 5638, 5862, 6084, 6308, 6530, 6753, 6976, 7200, 7423, 7646, 7868, 8092, 8314, 8539, 8761, 8983, 9208, 9430, 9654, 9877, 10100, 10322, 10546, 10769, 10992, 11215, 11439, 11660, 11884, 12108, 12330, 12555, 12777, 12999, 13223, 13446, 13669, 13894, 14114, 14339, 14562, 14786, 15008, 15232, 15456, 15678, 15901, 16124, 16348, 16570, 16794]
    hit1 = 3
    data2 = [0, 2099, 2433, 2767, 3102, 3437, 3771, 4105, 4441, 4776, 5110, 5445, 5779, 6113, 6449, 6783, 7117, 7452, 7787, 8121, 8457, 8793, 9127, 9461, 9796, 10130, 10465, 10800, 11134, 11468, 11803, 12138, 12473, 12807, 13143, 13477, 13811, 14146, 14481, 14815, 15150, 15484, 15818, 16156, 16490, 16824, 17158, 17494, 17828, 18162, 18497, 18832, 19166, 19501, 19835, 20171, 20505, 20840, 21174, 21509, 21844, 22178, 22512, 22848, 23182, 23516, 23853, 24188, 24522, 24856, 25191]
    hit2 = 2
    data3 = [0, 349, 405, 462, 516, 573, 628, 683, 741, 796, 851, 908, 962, 1020, 1075, 1130, 1186, 1242, 1297, 1354, 1409, 1465, 1520, 1577, 1632, 1688, 1744, 1799, 1855, 1912, 1966, 2022, 2078, 2135, 2190, 2246, 2301, 2358, 2413, 2470, 2524, 2580, 2637, 2692, 2747, 2804, 2858, 2916, 2971, 3026, 3082, 3138, 3193, 3250, 3305, 3361, 3417, 3473, 3528, 3585, 3640, 3697, 3751, 3808, 3863, 3918, 3975, 4031, 4086, 4142, 4197]
    hit3 = 12
    data4 = [0, 381, 441, 503, 563, 625, 685, 746, 806, 867, 929, 989, 1050, 1111, 1172, 1233, 1293, 1355, 1415, 1476, 1538, 1598, 1658, 1719, 1780, 1842, 1901, 1964, 2023, 2085, 2145, 2207, 2267, 2328, 2389, 2450, 2510, 2571, 2633, 2693, 2754, 2815, 2876, 2937, 2998, 3059, 3118, 3180, 3241, 3302, 3362, 3424, 3484, 3546, 3605, 3668, 3727, 3788, 3850, 3910, 3971, 4032, 4093, 4154, 4214, 4276, 4336, 4397, 4458, 4519, 4580]
    hit4 = 11
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 = 1.34


class 技能10(主动技能):
    名称 = "唤魔：塔莫斯之袭"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 40
    MP = [90, 1500]
    无色消耗 = 2
    data0 = [0, 1489, 1640, 1791, 1944, 2093, 2243, 2394, 2546, 2697, 2847, 2998, 3151, 3302, 3453, 3603, 3756, 3907, 4058, 4210, 4358, 4509, 4660, 4814, 4962, 5114, 5267, 5418, 5569, 5718, 5871, 6022, 6173, 6325, 6473, 6624, 6776, 6929, 7080, 7230, 7381, 7533, 7684, 7835, 7985, 8137, 8289, 8439, 8591, 8741, 8892, 9043, 9195, 9346, 9496, 9648, 9799, 9951, 10102, 10253, 10404, 10554, 10706, 10857, 11007, 11158, 11310, 11461, 11611, 11763, 11915]
    hit0 = 8
    data1 = [0, 11703, 12891, 14079, 15266, 16454, 17641, 18827, 20017, 21203, 22391, 23577, 24767, 25953, 27141, 28328, 29515, 30702, 31892, 33078, 34264, 35451, 36642, 37828, 39015, 40203, 41390, 42578, 43766, 44953, 46139, 47327, 48515, 49703, 50889, 52077, 53265, 54452, 55640, 56827, 58014, 59202, 60389, 61577, 62763, 63953, 65139, 66327, 67514, 68700, 69889, 71077, 72264, 73450, 74637, 75826, 77013, 78200, 79388, 80576, 81763, 82952, 84139, 85325, 86512, 87701, 88889, 90075, 91264, 92451, 93638]
    hit1 = 1
    data2 = [0, 4492, 4948, 5404, 5859, 6315, 6770, 7227, 7683, 8140, 8595, 9051, 9507, 9963, 10419, 10873, 11328, 11785, 12240, 12697, 13152, 13607, 14063, 14519, 14976, 15431, 15888, 16343, 16801, 17256, 17711, 18167, 18622, 19080, 19535, 19989, 20445, 20900, 21356, 21813, 22268, 22724, 23179, 23636, 24093, 24549, 25004, 25459, 25915, 26372, 26828, 27283, 27738, 28194, 28648, 29106, 29561, 30017, 30472, 30927, 31386, 31841, 32297, 32752, 33209, 33665, 34120, 34576, 35031, 35488, 35943]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.48
        self.hit2 = 0


class 技能11(被动技能):
    名称 = '贪欲之燔祭'
    所在等级 = 48

    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能12(主动技能):
    名称 = "空绝斩：千刃"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [1500, 12232]
    无色消耗 = 5
    data0 = [0, 2553, 3144, 3737, 4329, 4921, 5514, 6107, 6697, 7292, 7882, 8475, 9067, 9659, 10251, 10843, 11435, 12027, 12620, 13212, 13804, 14395, 14989, 15580, 16172, 16764, 17358, 17948, 18542, 19133, 19725, 20319, 20910, 21502, 22094, 22687, 23278, 23871, 24462, 25055, 25646, 26239, 26832, 27422, 28017, 28609, 29200, 29792, 30386, 30976, 31569]
    hit0 = 7
    data1 = [0, '0', '0', '0', '0', '0', 4260, 4719, 5175, 5634, 6091, 6549, 7006, 7465, 7921, 8379, 8838, 9293, 9752, 10209, 10667, 11124, 11583, 12039, 12497, 12955, 13412, 13870, 14328, 14786, 15242, 15700, 16158, 16614, 17073, 17530, 17988, 18446, 18904, 19361, 19819, 20277, 20732, 21191, 21648, 22106, 22563, 23022, 23478, 23937, 24394]
    hit1 = 7
    data2 = [0, 10562, 13012, 15462, 17909, 20359, 22810, 25259, 27708, 30157, 32607, 35056, 37506, 39954, 42405, 44853, 47302, 49754, 52203, 54651, 57101, 59551, 61998, 64449, 66898, 69348, 71797, 74246, 76697, 79145, 81594, 84043, 86494, 88942, 91392, 93843, 96292, 98740, 101189, 103639, 106088, 108538, 110987, 113437, 115886, 118336, 120786, 123234, 125683, 128132, 130583]
    hit2 = 1
    data3 = [0, 16250, 20019, 23786, 27554, 31323, 35091, 38859, 42628, 46397, 50165, 53934, 57701, 61469, 65238, 69005, 72773, 76542, 80311, 84079, 87848, 91615, 95383, 99152, 102920, 106688, 110457, 114226, 117994, 121763, 125531, 129298, 133067, 136835, 140603, 144372, 148141, 151909, 155678, 159444, 163212, 166981, 170749, 174517, 178286, 182055, 185823, 189591, 193360, 197127, 200896]
    hit3 = 1
    data4 = [0, 22749, 28025, 33301, 38576, 43853, 49128, 54402, 59680, 64955, 70231, 75507, 80783, 86058, 91335, 96609, 101883, 107160, 112435, 117711, 122986, 128262, 133537, 138813, 144089, 149364, 154641, 159915, 165192, 170468, 175744, 181019, 186294, 191570, 196844, 202121, 207396, 212672, 217948, 223224, 228498, 233774, 239050, 244325, 249602, 254877, 260153, 265428, 270705, 275978, 281254]
    hit4 = 1

    def 等效百分比(self, **argv):
        if self.等级 >= 3:
            return super().等效百分比(**argv)*1.1
        return super().等效百分比(**argv)


class 技能13(主动技能):
    名称 = "唤魔：逆天之普诺"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [120, 1200]
    无色消耗 = 1
    data0 = [0, 1978, 2179, 2379, 2580, 2781, 2981, 3182, 3384, 3584, 3785, 3985, 4185, 4387, 4588, 4788, 4990, 5190, 5390, 5591, 5794, 5993, 6195, 6395, 6594, 6797, 6998, 7198, 7400, 7600, 7800, 8001, 8203, 8403, 8604, 8804, 9005, 9207, 9407, 9608, 9809, 10009, 10208, 10411, 10612, 10813, 11012, 11212, 11413, 11615, 11815]
    hit0 = 5
    data1 = [0, 1648, 1816, 1982, 2150, 2319, 2486, 2652, 2819, 2987, 3153, 3322, 3489, 3655, 3823, 3992, 4158, 4325, 4493, 4659, 4827, 4994, 5160, 5328, 5496, 5665, 5831, 5998, 6164, 6332, 6500, 6666, 6835, 7002, 7170, 7337, 7504, 7671, 7837, 8006, 8174, 8340, 8508, 8675, 8842, 9009, 9177, 9343, 9510, 9680, 9847]
    hit1 = 8
    data2 = [0, 9763, 10753, 11743, 12733, 13724, 14714, 15704, 16695, 17685, 18677, 19666, 20657, 21648, 22639, 23629, 24619, 25609, 26599, 27590, 28580, 29571, 30561, 31552, 32541, 33532, 34524, 35515, 36505, 37494, 38485, 39475, 40467, 41457, 42447, 43437, 44428, 45418, 46407, 47399, 48389, 49380, 50369, 51361, 52351, 53343, 54333, 55322, 56313, 57303, 58294]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit2 = 1 + 0.08 + 0.31


class 技能14(主动技能):
    名称 = "汲血魔剑"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [400, 1500]
    无色消耗 = 2
    data0 = [0, 49095, 54075, 59056, 64037, 69017, 73998, 78980, 83958, 88941, 93919, 98900, 103882, 108862, 113842, 118824, 123804, 128784, 133764, 138747, 143726, 148708, 153688, 158669, 163649, 168629, 173611, 178590, 183572, 188551, 193533, 198514, 203494, 208474, 213456, 218436, 223417, 228398, 233379, 238358, 243341, 248321, 253301, 258282, 263263, 268243, 273224, 278204, 283186, 288166, 293146]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 1 + 0.07 + 0.15


class 技能15(被动技能):
    名称 = '唤魔：弑神剑'
    所在等级 = 75

    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)

    def 特殊倍率(self):
        return round(1.38 + 0.02 * self.等级, 5)

    data = [0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19]

    def 次数加成(self):
        return self.data[self.等级]


class 技能16(主动技能):
    名称 = "空绝斩：地裂"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 75787, 83474, 91164, 98854, 106541, 114230, 121918, 129607, 137294, 144985, 152673, 160361, 168051, 175738, 183427, 191116, 198804, 206493, 214182, 221870, 229559, 237246, 244935, 252625, 260314, 268001, 275689, 283379, 291067, 298756, 306445, 314134, 321822, 329510, 337198, 344887, 352577, 360266, 367953, 375642, 383331, 391019, 398707, 406397, 414086, 421774, 429462, 437150, 444839, 452530]
    hit0 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.34

# 无法抓取


class 技能17(主动技能):
    名称 = "弑神剑：极"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [800, 6000]
    无色消耗 = 5
    data0 = [0, 85412, 94080, 102748, 111408, 120074, 128740, 137408, 146070, 154736, 163403, 172070, 180738, 189399, 198066, 206734, 215399, 224061, 232727, 241395, 250062, 258724, 267390, 276055, 284724, 293384, 302052, 310719, 319385, 328053, 336714, 345381, 354049, 362716, 371376, 380043, 388710, 397377, 406039, 414707, 423371, 432039, 440699, 449367, 458034, 466701, 475362, 484029, 492697, 501364, 510031]
    hit0 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.34
        self.CDR *= 0.9


class 技能18(主动技能):
    名称 = "弑神剑：诸神献祭"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 6737, 8299, 9860, 11424, 12986, 14548, 16112, 17672, 19234, 20797, 22360, 23922, 25485, 27046, 28609, 30172, 31734, 33294, 34858, 36420, 37982, 39545, 41108, 42669, 44230, 45793, 47357, 48917, 50479, 52041, 53604, 55167, 56729, 58290, 59854, 61416, 62978, 64540, 66103, 67664, 69227, 70789, 72352, 73915, 75476, 77038, 78602, 80164, 81725, 83289]
    hit0 = 10
    data1 = [0, 24969, 30760, 36551, 42340, 48130, 53921, 59711, 65501, 71293, 77084, 82872, 88662, 94453, 100243, 106033, 111824, 117614, 123404, 129194, 134985, 140775, 146565, 152353, 158146, 163935, 169725, 175515, 181306, 187096, 192885, 198676, 204467, 210258, 216048, 221839, 227629, 233417, 239210, 244999, 250788, 256579, 262370, 268160, 273949, 279740, 285531, 291320, 297111, 302902, 308692]
    hit1 = 3
    data2 = [0, 93286, 114916, 136548, 158181, 179811, 201443, 223072, 244705, 266337, 287967, 309598, 331232, 352862, 374494, 396126, 417756, 439388, 461020, 482652, 504283, 525914, 547545, 569177, 590808, 612440, 634072, 655704, 677334, 698965, 720598, 742227, 763859, 785493, 807123, 828755, 850386, 872017, 893649, 915282, 936910, 958544, 980176, 1001806, 1023438, 1045070, 1066700, 1088333, 1109965, 1131595, 1153227]
    hit2 = 1


class 技能19(被动技能):
    名称 = '魔源觉醒'
    所在等级 = 95

    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能20(主动技能):
    名称 = "蛇舞血轮剑"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [1065, 8000]
    无色消耗 = 7
    data0 = [0, 17738, 19538, 21337, 23137, 24938, 26738, 28537, 30338, 32136, 33937, 35735, 37536, 39336, 41133, 42934, 44734, 46533, 48333, 50133, 51932, 53732, 55531, 57332, 59130, 60931, 62731, 64529, 66329, 68131, 69929, 71729, 73530, 75329, 77128, 78927, 80728, 82527, 84327, 86127, 87925, 89725, 91526, 93325, 95125, 96924, 98724, 100523, 102322, 104123, 105921]
    hit0 = 4
    data1 = [0, 106436, 117235, 128032, 138830, 149628, 160427, 171225, 182021, 192819, 203619, 214418, 225216, 236013, 246811, 257610, 268407, 279205, 290004, 300801, 311598, 322397, 333196, 343993, 354791, 365588, 376388, 387185, 397983, 408781, 419578, 430376, 441175, 451974, 462772, 473568, 484366, 495166, 505963, 516761, 527560, 538355, 549156, 559954, 570752, 581550, 592347, 603145, 613944, 624742, 635540]
    hit1 = 1


class 技能21(主动技能):
    名称 = "弑神剑：恶魔孤岛"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4025, 8055]
    无色消耗 = 15
    data0 = [0, 14971, 18442, 21914, 25385, 28858, 32331, 35802, 39274, 42746, 46218, 49689, 53160, 56632, 60104, 63576, 67048, 70518, 73990, 77463, 80934, 84407, 87877, 91349, 94820, 98293, 101764, 105236, 108707, 112180, 115653, 119124, 122595, 126067, 129539, 133011, 136483, 139953, 143425, 146897, 150369, 153841, 157312, 160784, 164255, 167727, 171200, 174671, 178143, 181615, 185086]
    hit0 = 15
    data1 = [0, 336868, 414980, 493095, 571208, 649324, 727437, 805551, 883666, 961779, 1039893, 1118008, 1196123, 1274236, 1352351, 1430465, 1508578, 1586692, 1664807, 1742921, 1821035, 1899151, 1977264, 2055379, 2133492, 2211607, 2289722, 2367835, 2445949, 2524064, 2602179, 2680292, 2758406, 2836521, 2914633, 2992748, 3070863, 3148976, 3227089, 3305204, 3383320, 3461433, 3539548, 3617661, 3695776, 3773890, 3852004, 3930117, 4008232, 4086348, 4164460]
    hit1 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'demon_slayer'
        self.名称 = '极诣·契魔者'
        self.角色 = '鬼剑士(女)'

        self.职业 = '契魔者'
        self.武器选项 = ['巨剑', '钝器', '太刀', '短剑']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '巨剑'
        self.防具类型 = '重甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.00

        super().__init__(equVersion)

    def 伤害指数计算(self):

        唤魔弑神剑 = self.get_skill_by_name('唤魔：弑神剑')

        x = 唤魔弑神剑.加成倍率(self.武器类型)
        self.get_skill_by_name('血饮狂舞').被动倍率 /= x
        self.get_skill_by_name('唤魔：塔莫斯之袭').被动倍率 /= x

        y = self.get_skill_by_name('魔源觉醒').加成倍率(self.武器类型)
        self.get_skill_by_name('蛇腹剑：缠').被动倍率 *= (x + y - 1) / (x * y)

        self.get_skill_by_name('血饮狂舞').hit0 += 10 * 唤魔弑神剑.特殊倍率()
        self.get_skill_by_name('血饮狂舞').hit1 += 1 * 唤魔弑神剑.特殊倍率()
        self.get_skill_by_name('唤魔：塔莫斯之袭').hit0 = 8+唤魔弑神剑.次数加成()
        self.get_skill_by_name('唤魔：塔莫斯之袭').hit1 = 唤魔弑神剑.特殊倍率()

        super().伤害指数计算()

    def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=15):
        super().set_skill_info(info, rune_start_lv=15)
